#include <iostream>

using namespace std;

void dfs(int a, int b, int num, bool &flag1, bool &flag2)
{
	if(flag1)
		return;

	if(a == 1 && b == 1)
	{
		flag1 = true;
		flag2 = true;
		return;
	}

	if(b == 1)
	{
		flag2 = true;
	}

	if(num < 2)
		return;

	if(a % num == 0)
		dfs(a / num, b, num - 1, flag1, flag2);
	if(b % num == 0)
		dfs(a, b / num, num - 1, flag1, flag2);

	dfs(a, b, num - 1, flag1, flag2);
}

int main()
{
	//freopen("input.txt", "r", stdin);
	int a, b;
	bool flag1, flag2;
	while(cin >> a >> b)
	{
		flag1 = false;
		flag2 = false;

		if(b > a)
		{
			int c = b;
			b = a;
			a = c;
		}

		dfs(a, b, 100, flag1, flag2);

		if(flag1 || !flag2)
			cout << a << endl;
		else
			cout << b << endl;
	}
	return 0;
}